草庐IT

Android KitKat HttpURLConnection 断开 AsyncTask

全部标签

java - Android:将函数引用传递给 AsyncTask

我是android新手,非常习惯于web开发。在javascript中,当您想要执行异步任务时,您将函数作为参数(回调)传递:http.get('www.example.com',function(response){//somecodetohandleresponse});我想知道我们是否可以对android的AsyncTask做同样的事情,将函数引用传递给onPostExecute()方法,它就会运行它。有什么建议吗? 最佳答案 是的,回调的概念在Java中也很常见。在Java中,您可以这样定义回调:publicinterfac

android - 使用 AsyncTask 在 ListView 中加载图片

我有一个可以容纳图像的ListView。这取决于SDCARD中是否存在图像。这是我的示例代码:publicclassMainActivityextendsActivity{ListViewmListView;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);mListView=newListView(this);setContentView(mListView);String[]arr=newString[]{"/example/images/1.jpg

安卓 : Calling the methods on UI thread from AsyncTask doInBackground method

我正在使用AsyncTask将数据上传到UI。我编写了代码以以单独的方法从服务器下载数据,并且我从doinBackground调用该方法。它会给出错误,因为UI方法无法从doInBackground访问。但是,我想访问.是否有任何替代过程可以从doinBackground访问UI方法? 最佳答案 anyalternativeprocessistheretoaccesstheUImethodfromdoinBackground.?在doInBackground()中调用publishProgress()。将UI更新逻辑放在AsyncT

Android AsyncTask 取消时不会停止,为什么?

我在Activity的onPause生命周期事件中关闭了一个AsyncTask,因此当有人离开应用程序时它不会运行,但尽管如此,它仍会继续运行。我添加了一些跟踪,这个fragment显示了问题。Trace.d(TAG,"Taskstate:"+myTask.getStatus());myTask.cancel(true);Trace.d(TAG,"Taskstate:"+myTask.getStatus());输出:Taskstate:RUNNINGTaskstate:RUNNING为什么cancel()方法对任务的状态没有任何影响?我注意到文档说取消方法将“尝试”停止任务,但在什么情

安卓蜂窝 : NetworkOnMainThreadException even when using AsyncTask and no strict mode?

我遇到了NetworkOnMainThreadException使用我的Android3.0应用程序。寻找我找到的解决方案this,但如果我理解正确的话,默认设置是关闭严格模式。另外,我所有的网络访问都在一个AsyncTask中,所以无论如何我都看不到这个异常的意义。所以,我现在很绝望我应该做些什么来防止这种情况......亲切的问候,水母编辑:Thisblogentry说AsyncTask应该够了,但至少澄清了StrictMode点。解决方案:我关闭了StrictMode(保留一些设置可能更好,但我不会被打扰...):StrictMode.ThreadPolicypolicy=new

android - 以编程方式连接和断开 Android 设备

我需要找到一种方法(使用Android应用程序)以编程方式连接和断开Android设备与主机的连接。我正在使用GalaxyNexus。我的目标是让一切尽可能接近库存,尽管我已经在内核中启用了详细的调试消息,并且为了查看它们已经在手机上启用了root访问权限以访问/proc/kmsg(以及shell命令dmesg)。我确信有一种方法可以利用root访问权限来做我需要做的事情,但我所有的尝试都导致了nix。弄乱/proc/bus/usb与/dev/bus/usb混淆在MTP/PTP之间切换(无法以编程方式进行)将AndroidUSB小工具驱动程序制作成一个模块我将尝试弄清楚如何处理列表中的

android - 即使应用程序被销毁,AsyncTask 也将始终运行?

我有一个应用程序,因为你不能在我使用AsyncTask的主线程上进行网络操作,所以问题是一旦我execute()AsyncTask然后我finish()Activity,也许用户会finish()整个应用程序,所以我是想知道的是:AsyncTask是否会始终完成doInBackground()和onPostExecute(),即使应用程序已关闭,只要execute()在应用运行时被调用? 最佳答案 您将能够对此进行测试。是的,确实如此。如果调用了执行,您可以看到Asynctask仍将执行,除非它对前台或UI相关的操作。(可能会导致启

java - 如何处理来自 AsyncTask 的返回值

我正在使用具有以下签名的AsyncTask类:publicclassApiAccessextendsAsyncTask,Integer,String>{...privateStringPOST(List[]nameValuePairs){...returnresponse;}}protectedStringdoInBackground(List...nameValuePairs){returnPOST(params);}我正在尝试通过以下方式从其他类调用它:ApiAccessapiObj=newApiAccess(0,"/User");//StringsignupResponse=ap

android - 调用 AsyncTask.get() 时未显示 ProgressDialog

这个问题在这里已经有了答案:关闭10年前.PossibleDuplicate:AsyncTaskblockUIthreatandshowprogressbarwithdelay我想在从任何服务器检索JSON时显示一个progressDialog。所以我使用AsyncTask作为解决方案(不确定有什么不同的出路)。一切都很好,ProgressDialog可以正常工作,直到我使用AsyncTask实例调用.get()方法。我想它以某种方式阻止了用户界面。这是我的AsyncTask:publicclassmyAsyncextendsAsyncTask{Stringmessage;//ford

android - 如何调试 AsyncTask 的 doInBackground 代码

我设置了断点,但它们似乎被忽略(或从未见过)。我的代码如下。我正在尝试将sql数据库备份到SD卡。当我在Eclipse中运行它(不是Debug模式)时,我从onPreExecute收到消息,然后很快收到来自onPostExecute的消息。我在ExportDatabaseFileTask的几乎每一行都设置了断点。当我在Eclipse中运行它(在Debug模式下)时,我在onPreExecute的断点处停止,然后当我更进一步时,调试器的下一行是:mDbHelper.open();然后,我将逐步执行其余的正常代码,并留下显示来自onPreExecute的消息的AVD,它显然会永远存在。我没